Intelligent social interaction recognition and conveyance using computer generated prediction modeling

ABSTRACT

A method, computer program product, and system include a processor(s) obtaining, environmental data comprising captured audio data and captured image data. The processor(s) generates, based on the environmental data, a user profile for the user, by cognitively analyzing the environmental data to perform a binary valuation of one or more pre-defined core attributes. The processor identifies, based on the environmental data, one or more entities within the vicinity of the user. The processor(s) generates a subject profile for each entity of the one or more entities by cognitively analyzing the environmental data to perform the binary valuation of the one or more pre-defined core attributes. The processor(s) predicts perceived positive or negative outcome of the user initiating a contact with each entity of the one or more entities. The processor(s) generates a recommendation to initiate the contact with the at least one entity and transmits the recommendation.

BACKGROUND

There are many social interactions that take place on a daily basis thatimpact our understanding of the world. Many factors influence our socialinteractions including cultural norms, situational environments, pastinteractions with individuals, verbal communication, eye contact, facialgestures, other forms of body language, etc. Being able to recognize andunderstand all of these factors can be challenging, especially whenthere are various psychological and physical barriers that can impedeeffective communication.

SUMMARY

Shortcomings of the prior art are overcome and additional advantages areprovided through the provision of a method for monitoring socialinteractions and generating behavioral recommendations. The methodincludes, for instance: monitoring, by one or more processors, via oneor more input devices communicatively coupled to the one or moreprocessors, elements in a user's vicinity, the monitoring includingdetecting one or more individuals in the user's vicinity, detecting oneor more actions being performed by the one or more individuals, the oneor more actions including physical behaviors of the one or moreindividuals, and detecting context elements of the one or more actionsbeing performed; analyzing, by the one or more processors, (i) the oneor more individuals in the user's vicinity to determine whether the oneor more individuals can be identified, (ii) the one or more actions todetermine a current circumstance of the one or more individuals, and(iii) the context elements of the one or more actions to determine acurrent environment in which the one or more individuals are located,the analyzing including predicting a probable impact of one or moresocial interactions that could be performed between the user and the oneor more individuals; and generating, by the one or more processors, abehavioral recommendation to be communicated to the user, the behavioralrecommendation including a social interaction of the one or more socialinteractions, the generating including selecting the behavioralrecommendation based on determining that the behavioral recommendationis predicted to provide a beneficial psychological impact to the user.

Shortcomings of the prior art are overcome and additional advantages areprovided through the provision of a computer program product forgenerating a behavioral recommendation. The computer program productcomprises a storage medium readable by a processing circuit and storinginstructions for execution by the processing circuit for performing amethod. The method includes, for instance: obtaining, by one or moreprocessors, based on monitoring a defined vicinity of a user, via one ormore input devices communicatively coupled to the one or moreprocessors, the one or more input devices comprising an audio capturedevice and an image capture device, environmental data comprisingcaptured audio data and captured image data; generating, by the one ormore processors, based on the environmental data, a user profile for theuser, wherein generating the user profile comprises cognitivelyanalyzing the environmental data to perform a binary valuation of one ormore pre-defined core attributes; identifying, by the one or moreprocessors, based on the environmental data, one or more entities withinthe vicinity of the user; based on the identifying, generating, by theone or more processors, based on the environmental data, a subjectprofile for each entity of the one or more entities, wherein generatingthe subject profile, for each entity of the one or more entities,comprises cognitively analyzing the environmental data to perform thebinary valuation of the one or more pre-defined core attributes;predicting, by the one or more processors, based on applying aclassifier algorithm to the user profile and each subject profile, aclassification representing a perceived positive or negative outcome ofthe user initiating a contact with each entity of the one or moreentities; based on predicting a positive outcome for at the userinitiating the contact with at least one entity of the one or moreentities, generating, by the one or more processors, a recommendation toinitiate the contact with the at least one entity; and transmitting, bythe one or more processors, to the user, via a haptic interface of theone or more input devices, the recommendation to initiate the contactwith the at least one entity, wherein the haptic interface indicates alocation of the at least one entity, relative to the user, within thevicinity.

Shortcomings of the prior art are overcome and additional advantages areprovided through the provision of a system for predicting likelihood ofa condition. The system includes a memory, one or more processors incommunication with the memory, and program instructions executable bythe one or more processors via the memory to perform a method. Themethod includes, for instance: obtaining, by the one or more processors,based on monitoring a defined vicinity of a user, via one or more inputdevices communicatively coupled to the one or more processors, the oneor more input devices comprising an audio capture device and an imagecapture device, environmental data comprising captured audio data andcaptured image data; generating, by the one or more processors, based onthe environmental data, a user profile for the user, wherein generatingthe user profile comprises cognitively analyzing the environmental datato perform a binary valuation of one or more pre-defined coreattributes; identifying, by the one or more processors, based on theenvironmental data, one or more entities within the vicinity of theuser; based on the identifying, generating, by the one or moreprocessors, based on the environmental data, a subject profile for eachentity of the one or more entities, wherein generating the subjectprofile, for each entity of the one or more entities, comprisescognitively analyzing the environmental data to perform the binaryvaluation of the one or more pre-defined core attributes; predicting, bythe one or more processors, based on applying a classifier algorithm tothe user profile and each subject profile, a classification representinga perceived positive or negative outcome of the user initiating acontact with each entity of the one or more entities; based onpredicting a positive outcome for at the user initiating the contactwith at least one entity of the one or more entities, generating, by theone or more processors, a recommendation to initiate the contact withthe at least one entity; and transmitting, by the one or moreprocessors, to the user, via a haptic interface of the one or more inputdevices, the recommendation to initiate the contact with the at leastone entity, wherein the haptic interface indicates a location of the atleast one entity, relative to the user, within the vicinity.

Methods and systems relating to one or more aspects are also describedand claimed herein. Further, services relating to one or more aspectsare also described and may be claimed herein.

Additional features are realized through the techniques describedherein. Other embodiments and aspects are described in detail herein andare considered a part of the claimed aspects.

BRIEF DESCRIPTION OF THE DRAWINGS

One or more aspects are particularly pointed out and distinctly claimedas examples in the claims at the conclusion of the specification. Theforegoing and objects, features, and advantages of one or more aspectsare apparent from the following detailed description taken inconjunction with the accompanying drawings in which:

FIG. 1 is a workflow that illustrates various aspects of someembodiments of the present invention;

FIG. 2 depicts a technical environment into which aspects of the presentinvention have been implemented;

FIG. 3 further illustrates a machine learning training system 300 thatcan be utilized in embodiments of the present invention to performcognitive analyses of sensor and Internet of Things (IoT) data togenerate a recommendation for a given user;

FIG. 4 depicts a technical environment into which aspects of the presentinvention have been implemented;

FIG. 5 depicts a technical environment into which aspects of the presentinvention have been implemented;

FIG. 6 is a block diagram that depicts how the program code in someembodiments of the present invention evaluates core values of a subject;

FIG. 7 s a block diagram that depicts how the program code in someembodiments of the present invention evaluates non-core values of asubject;

FIG. 8 illustrates the operation of a classification algorithm inembodiments of the present invention;

FIG. 9 is an example of an electronic device with a haptic userinterface that can be controlled by program code in some embodiments ofthe present invention;

FIG. 10 depicts on embodiment of a computing node that can be utilizedin a cloud computing environment;

FIG. 11 depicts a cloud computing environment according to an embodimentof the present invention; and

FIG. 12 depicts abstraction model layers according to an embodiment ofthe present invention.

DETAILED DESCRIPTION

The accompanying figures, in which like reference numerals refer toidentical or functionally similar elements throughout the separate viewsand which are incorporated in and form a part of the specification,further illustrate the present invention and, together with the detaileddescription of the invention, serve to explain the principles of thepresent invention. As understood by one of skill in the art, theaccompanying figures are provided for ease of understanding andillustrate aspects of certain embodiments of the present invention. Theinvention is not limited to the embodiments depicted in the figures.

As understood by one of skill in the art, program code, as referred tothroughout this application, includes both software and hardware. Forexample, program code in certain embodiments of the present inventionincludes fixed function hardware, while other embodiments utilized asoftware-based implementation of the functionality described. Certainembodiments combine both types of program code. One example of programcode, also referred to as one or more programs, is depicted in FIG. 10as program/utility 40, having a set (at least one) of program modules42, may be stored in memory 28.

Embodiments of the present invention include computer-implementedmethods, computer program products, and computer systems that enableusers to obtain useful data about a current social interaction with atleast one other individual and convey information about the socialinteraction to the users. This useful data can be understood as being ofparticular use to individuals regardless of any particular challengesthese individuals may have in perceiving interactions, in real-time. Forexample, an individual who is visually impaired would have particularchallenges in perceiving certain social interaction information, such asvisual cues. Meanwhile, an individual who is neuro-atypical could havechallenges perceiving social cues in interactions. Finally, anindividual in an environment with unknown cultural differences from thatindividual's familiar cultural environment could miss or misinterpretcertain norms includes in the interactions. Because individuals, basedon their qualities, introduce various challenges into social interactionperception, embodiments of the present invention reliably facilitatesocial interactions between individuals based on interpreting this datain a manner that accounts for these types of factors. Program code inembodiments of the present invention can utilize these data, after theprogram code obtains the data, for example, as parameters entered intoartificial intelligence (AI) systems, for model training and machinelearning. One such system, provided by way of example, only, and not toimply any limitations, is IBM Watson®, which the program code in someembodiments of the present invention can utilize as a cognitive agent(e.g., AI) to perform one or more of the described analyses. IBM Watson®is a registered trademark of International Business MachinesCorporation, Armonk, N.Y., US. By analyzing one or more contextvariables to provide a composite behavioral recommendation to anindividual, embodiments of the present invention provide improvements toAI systems that utilize this data. As will be explained herein, inembodiments of the present invention, the program code can classifysocial interactions by applying both implicit and explicit feedback.Utilizing this feedback, in embodiments of the present invention, theprogram code summarizes and provides users with most relevant parts of asocial interaction (e.g., context variables), so that a system canquickly extract this information and produce a behavioralrecommendation. Although many examples of individuals with particularperception challenges would be positively impacted by utilizing aspectsof the present invention in social interactions, visually impairedindividuals are utilized in certain of the examples herein, toillustrate various benefits of utilizing embodiments of the presentinvention in various scenarios, when the data provided by the programcode in embodiments of the present inventions can provide insights thatcannot be perceived by the individual in the example.

Specifically, in some embodiments of the present invention, program codeexecuting on one or more processors monitors, via one or more inputdevices communicatively coupled to the processors, (with permission fromsubjects being monitored) elements in a user's vicinity. The programcode monitors various environmental attributes. For examples, theprogram code can detect and monitor one or more individuals in theuser's vicinity, one or more actions being performed by the one or moreindividuals (e.g., physical behaviors of the one or more individuals,context elements of the one or more actions being performed). Inembodiments of the present invention, the program code collects andanalyzes data from the user and individuals within the vicinity of theuser with the express consent of the individuals whose data is collectedand analyzed. All data collected and handled by the program code inembodiments of the present invention is collected based on users as wellas subjects opting into participation. The program code handles andstores all data discretely and securely, and disposes of any data(if/when it disposes of data) discretely and securely. A user isprovided with an option to opt out at any time and data collection andanalysis is performed by the program code with the express consent ofthe user (and the subjects). Thus, with the consent of participants(users and individuals within a vicinity of the user), the program codeanalyzes: (i) the one or more individuals in the user's vicinity todetermine whether the one or more individuals can be identified, (ii)the one or more actions to determine a current circumstance of the oneor more individuals, and/or (iii) the context elements of the one ormore actions to determine a current environment in which the one or moreindividuals are located. Based on this analysis, the program codepredicts probable impacts of one or more social interactions between theuser and the one or more individuals. Based on these predictions, theprogram code generates a behavioral recommendation and communicates thisrecommendation to the user. The program code also aids the user duringthe course of the interaction, via a client device. Additionally, theprogram code continues to monitor the environmental attributes such thatthe program code can determine if the predicted outcome of theinteraction is the actual outcome. The program code can update theprediction logic (model) based on the outcomes matching or not matching.This updated logic can be applied by the program code when makingsubsequent recommendations.

Embodiments of the present invention include computer-implementedmethods, computer program products, and computer systems that enable auser, particularly a user with compromised perception, including but notlimited to visual perception challenges, to decide whether to initiatecommunication with a subject (another individual) based on whether theuser and the subject share various values, which the program codedetermines based, in part, by monitoring (with permission) interactionsand behaviors of the user and the subjects. For example, in someembodiments of the present invention, program code maintains andcontinuously updated value perceptions (based on data collection andinterpretation by at least one cognitive agent) of the user as well assubjects within the vicinity of the user. The program code utilizesthese perceptions to determine whether to recommend to the user that theuser should initiate a conversation and/or other contact with a subjectat a given moment in time. This recommendation is particularly usefulfor users with perception limitations because the program code isperceiving (collecting, analyzing, interpreting, updating, etc.)information that the user cannot perceive, based, for example, on visualperception challenges experienced by the user. Thus, the program codecan provide decision-making guidance to the user that is not otherwiseavailable to these users, based on the perception challenges of theuser. As will be discussed in great detail herein, the program code canclassify the values (perceive the values) of a given individual (apotential subject and/or the user), based, in part on: a) expressedopinions in social media by the given individual and b) correlatedvalues of bodily parameters measured from the given individual in theevent of knowledge about particular event related to the subject.

While some existing social interaction data extraction solutions aretied to specific actions (e.g., using software to determine headorientation of nearby individuals), embodiments of the present inventionmonitor and analyze one or more individuals in a user's vicinity, socialinteractions between a user and one or more individuals in the user'svicinity, and the context of the one or more social interactions.Embodiments of the present invention include program code executing onone or more processors that provides data summarization for individuals,social interactions, environments, and contexts in order to generate abehavioral recommendation for a user. Some embodiments of the presentinvention include program code that obtains data based on monitoring auser's interactions with others while the user communicates withparticular individuals, and the program code can be used to determine arelative context awareness of the environment in which a socialinteraction is taking place.

The data ascertained from a given social interaction is personalized forthe user because different users could interact differently in responseto certain social interactions within various environments and contexts.Further, behavioral recommendations are generated based on thebehavioral recommendation being predicted to provide a beneficialpsychological impact to the user, and the probable impacts predicted canchange depending on the user. In some embodiments of the presentinvention, the program code determines that a user has certainbehavioral patterns in a given social context, including, for example,social interactions with specific individuals or categories ofindividuals, based on tracking behaviors or conversations of the user.Tracking behaviors of the user can include, for example, analyzing andcontextualizing past interactions and behaviors to determinesystematically the nature of the relationship between the user andanother individual for whom a behavioral response is being recommended.This analysis and contextualization can evaluate the user's perceptionof the individual ascertained from the past interactions and combinethis perception with the user's perceived present intellectual state toderive a possible behavioral recommendation.

In some embodiments of the present invention, the program code tracksthe physical behaviors of individuals (e.g., facial gestures, bodylanguage, eye contact, etc.) in the vicinity of the user as part ofcontextualizing the possible behavioral recommendation (e.g., whether anindividual would be receptive to the user initiating a conversation).The program code, through repetition of observations, learns typicalindividual interactions arising from repeated behaviors and can thusdevelop a threshold that indicates individuals exhibiting certainbehaviors are, on average, more or less receptive to certain behaviorsexhibited by the user. The program code utilizes these learnedinteractions to predict, based on an observed social interaction, alikely response by individuals within the vicinity of the user. Thus,embodiments of the present invention generate and tune a machinelearning algorithm for user-oriented behavioral recommendations.

In some embodiments of the present invention, the behavioralrecommendation can be delivered to the user via an electronic device.For instance, the behavioral recommendation can include an auditorysignal (e.g., voice command) or a touch-based sensory stimulation, etc.For example, the electronic device can have a touch-based sensor userinterface that is divided into a plurality of segments, each segmentindicating a physical location in the user's vicinity. Further, theelectronic device, or a particular segment of the electronic device, canbe configured to vibrate or pulsate based on the physical presence of anindividual in the user's vicinity, and the intensity of the vibration orfrequency of pulsation can indicate a given behavioral recommendation.The touch-based sensory stimulation can be augmented by an auditorysignal (e.g., voice command) emitted by the electronic device to providethe user with a particular behavioral recommendation.

Embodiments of the present invention are inextricably linked tocomputing. The computer-implemented method, computer program product,and computer systems described herein utilize one or more image capturedevices, noise capture devices, or other computing devices to trackphysical behaviors or monitor other social interactions of the user, aswell as individuals in the user's vicinity, over time, and ascertaincertain contexts and environments for given physical behaviors andsocial interactions. Further, the program code can determine howreceptive a particular individual or category of individual would be tocertain behaviors exhibited by the user as well as predict apsychological impact a particular behavioral recommendation would haveon the user. In embodiments of the present invention where one or moreimage capture devices are utilized by the program code to monitorphysical behaviors of individuals, the monitoring of the physicalbehaviors and the coordination of the physical behaviors with contextsand environments are accomplished through the user of software andhardware systems, including but not limited to, image capture devices,including image capture devices in specific positions to allow formonitoring of both the user and individuals in the user's vicinity, andnoise capture devices, including noise capture devices at specificlocations to allow for monitoring both conversations and ambient noisetaking place in the user's vicinity. This functionality is enabled bycomputer systems and therefore is inextricably linked to computing.

Aspects of some embodiments of the present invention provide a practicalapplication in providing an efficient and accurate approach toprocessing data for the user as well as various individuals,environments, contexts, etc. As discussed herein, embodiments of thepresent invention generate and update an algorithm, based onpersonalized behavioral recommendations in response to certain socialinteractions within various environments and contexts. By applying thisalgorithm, program code in embodiments of the present invention canpredict the importance of granular elements in a given environment,context, and for a particular social interaction. The behavioralrecommendations produced by the program code in embodiments of thepresent invention and the user's behaviors in response to the behavioralrecommendations can be utilized by additional computing systems,including AI systems, as data for future behavioral recommendations.Because the program code generates a machine-learning algorithm topredict a likely response by individuals within the vicinity of theobserved social interaction as well as a psychological impact of thebehavioral recommendation on the user, embodiments of the presentinvention can extract, through this prediction, behavioralrecommendations much faster and arguably more accurately than existingsystems that focus on social interaction data extraction. Additionally,according to one embodiment, electronic devices can deliver behavioralrecommendations to the user by way of an auditory signal (e.g., voicecommand) or a touch-based sensory stimulation. Advantageously, thisnon-visual form of communication can provide, for example, behavioralrecommendations to users with various levels of visual impairment.

Embodiments of the present invention provide a specific practicalapplication to individuals who cannot perceive and/or one or moreelements of social interactions in real-time and therefore, are unableto respond in real-time. Thus, the program code in embodiments of thepresent invention provides practical social assistance. Returning to theexample of a sight-impaired individual (which is utilized herein forillustrative purposes, only), a sight-impaired individual, in certainsituations, may have more limited access to data in a given environmentthat can be gathered based in perceptions. In such a situation, programcode in embodiments of the present invention can recommend to thisindividual a particular social interaction with another individual whois present in this setting. The program code can recommend that thesight impaired individual initiate a conversation with the individual,perform an action (e.g., waving a hand) directed at the individual, takeno action at all, etc. As will be explained herein, the program codemakes this recommendation based on a variety of factors, including butnot limited to, visually detecting the presence of the individual withina given proximity of the sight-impaired individual, determining apersonality compatibility between the individuals, identifyingcircumstantial attributes present at that point in time. Thispersonality compatibility can include, but is not limited to, matchingfields of interest, spheres of influence and/or emotional attachmentbased on past interactions. Circumstantial attributes can includecontextual information at that point of time (e.g., whether theindividual is involved in a different interaction, such as talking onthe phone and/or about to get into a vehicle). As aforementioned, therecommendations provided to users by the program code in embodiments ofthe present invention can be of particular use not only to temporarilyor permanently visually impaired individuals, but also to neuro-atypicalindividuals, and/or individuals moving within an unfamiliar culturalenvironment. The program code provides a practical benefit to theseindividuals by assisting the users in social interactions based on datathat these individuals are unable to gather in real-time, regardless ofthe reason that this data is not gathered by the individuals.

Aspects of some embodiments of the present invention representsignificant improvements over existing social interaction dataextraction methods and analysis. As mentioned above, generally socialinteraction data extraction solutions are tied to specific actionswithout recommending behavior for an observed social interaction.Advantageously, aspects of the present invention may recommend anappropriate way to interact for an observed social interaction such as,for example, recommending initiating a conversation, recommendingperforming some action like waving a hand or moving out of the way, orrecommending performing no action at all. Thus, unlike existing systems,embodiments of the present invention utilize highly granular data toprovide a personalized behavioral recommendation.

FIG. 1 is a workflow 100 that illustrates, generally, certain aspects ofsome embodiments of the present invention. FIG. 1 provides thisoverview, but the particulars of each aspect illustrated are discussedin greater detail herein. In embodiments of the present invention,program code executing on one or more processors captures an eventproximate to an individual that the individual is unable or unavailableto perceive (110). The event captured by the program can include, theprogram code determining that another individual is within a givenproximity of the user. In some embodiments of the present invention, theprogram code utilizes various methods to identify and/or recognize theindividual or individuals within a vicinity of a given individual.

The program code determines a (probable) impact of the event on theindividual (120). This impact can be on an intellectual state of theindividual and can be based on relative value perception of the subjectas well as behavioral, circumstantial, relational and contextualinfluencing factors. Regarding the value perception, in some embodimentsof the present invention, this perception can be understood to be from apoint-of-view of a user (e.g., a wearer of a wearable device). Asdiscussed herein, aspects of some embodiments of the present inventioncan be of particular utility to an individual with perception challengesand thus, by utilizing aspects of some embodiments of the presentinvention, the program code can provide utility by effectively providinga user with cognitive analyses of environmental data that a user isunable and/or unavailable to perceive. Thus, cognitive analyses of dataprovided by the program code that determines values of other individualscan be provided by the program code from the point-of-view of the user.

Returning to FIG. 1, the program code can determine a (probable) impactof the event on the individual (120) based on factors related to theindividual, including but not limited to, perceptions of body language(e.g., eye contact, facial gestures). Other factors that can impact thisrecommendation can include, but are not limited to, how well theindividual and the user are acquainted with each other, space betweenthe user and the individual, a perceived benefit in initiating aconversation with the individual, whether the body language and/orphysical movements of the individual indicates that the individual isbusy, how well did a conversation go when the user last met theindividual (tone, content, etc., during past interactions), pastreactions of the individuals to public interactions with the user in thepast. These non-verbal cues, which are not readily perceived by everyuser, would assist a user who is in a position to perceive these cueswith making a decision about a response to an event. In some embodimentsof the present invention, the program code determines a (probable)impact of the event on the individual (120), where the event is aninteraction with another individual, based on assessing what is referredto herein as the intellectual compatibility of the individual with theother individual, referred to as the subject. To make thisdetermination, the program code analyzes the subject's historical datato determine intellectual compatibility based on values basedclassifications and circumstantial attributes. The program code utilizesthese values classifications to predict positive or negative outcomes.

In some embodiments of the present invention, based on the impact, theprogram code recommends an action to the individual (130). In somespaces, there can be more than one subject present with which theprogram code recommends which subject, from a group of subjects that theprogram code has determined could be initiated into a conversation andhave a positive outcome. Thus, the program code generates a prioritylist and recommends a subject from that list. The program code can applya prioritization algorithm, which is discussed in more detail herein.

In some embodiments of the present invention, the program code tracksthe impacts of the recommended action, if facilitated by the individual,based on the recommendation (140). A user can select a recommendationand start a conversation with the subject. During the conversation, theprogram code can provide inputs into a haptic device to aid theindividual in addressing the subject (150). For example, the programcode can alert the individual to the positioning of the subject.

The program code utilizes the data related to the impacts to updatelogic related to future recommendations (160). Hence, the program codeis self-learning and recommendation can improve iteratively. Thus,program code in embodiments of the present invention: 1) facilitates(and guides) social interactions, based on the program code capturingand analyzing an event proximate to a user that the user is unable toperceive and analyze based on, for example, perception challenges facedby the user, including but not limited to, visual impairment; and 2)machine learns based on a user implementing the recommendation(s),updating logic utilized to provide the recommendation(s). As will bediscussed in greater detail herein, the program code generates andcontinually updates decision making algorithms to interpret a user'ssurroundings as visual cues or clues and provide the user with arecommendation for a response to the event proximate to the user.Because aspects of various embodiments of the present invention identifyand interpret information that is available visually, these aspects canbe understood as being particularly helpful to users with visualimpairments and/or other situations or circumstances that impede theuser's ability to perceived and interpret visual information. In someembodiments of the present invention, the program code providesartificial intelligence (AI) for those aspects of decision-making (in asocial setting) by capturing and interpreting visual clues, to arrive ata decision.

FIG. 2 is an example of a technical environment 200 into which aspectsof some embodiments of the present invention can be implemented. Giventhat social interactions for which the program code providesintelligence can occur in public spaces, FIG. 2 is an example of such apublic space 220, which includes a user with a wearable device 210. Insome embodiments of the present invention, the wearable device 210(which can be a personal computing device), which executes program codethat captures images of the public space 220, including of other peoplewho enter the public space 220. In other embodiments of the presentinvention, in addition to (or instead of) capturing images forrecognition, program code in embodiments of the present inventionutilizes artificial intelligence (AI) in this space, or social setting,to capture and interpret visual clues, to arrive at a decision regardingrecognition. When an individual is proximate to the user in the in thepublic space 220, the wearable device 210 attempts to identify theindividual. In making this identification, in addition to the AI-basedclassification, which can assist in any identification, the wearabledevice 210 can utilize different recognition facilities, including butnot limited to, facial recognition, voice recognition, etc. As discussedabove, certain aspects of the present invention provide a specificutility to users with visual perception limitations, thus, aspects ofsome embodiments of the present invention provide visual perceptionbenefits for these individuals that extend beyond these limitations. Thewearable device 210 includes one or more sensors 215 to capture image,video and/or audio data.

Returning to FIG. 2, the program code executing on the wearable devicecan reference a data source 230 (local to the wearable device 210 and/orremotely accessible, e.g., on a shared computing resource) to associatethe identified individual with a history of previous interactions and/orrepeated co-existence at the public space 220, the same location (e.g.,at the office workplace, regular commuters on the same public transport,etc.). The program code applies one or more machine learning algorithms(e.g., AI) 240 to analyze one or more possibilities surrounding aconversation with the individual proximate to the user. As a publicspace 220 can contain multiple individuals at any time, the program codein embodiments of the present invention can recognize and analyzeconversation possibilities with more than one individual, in parallel(synchronously and/or asynchronously). In applying the machine learningalgorithms 240, to analyze one or more possibilities surrounding aconversation with the individual proximate to the user and provide arecommendation to the user, the program code utilizes, in its analysis,factors including, but not limited to historical data,intellectual/emotional compatibility, and/or circumstantial attributes(e.g., what the subject is doing at that moment, what has recentlyhappened to that person, what happened during the last interactionbetween the user and the individual). The program code can utilize aclassifier 250 to classify the individual based on what the program codedetermined are the perceived core and non-core values of the individual(explained in greater detail herein). The classifier, and itsclassification of individuals for conversations with the initial user(individual), is discussed in greater detail in FIG. 8.

Returning to the machine learning algorithms 240, the program codepredicts an outcome of a conversation with the proximate individual. Insome embodiments of the present invention, the outcome is a binaryvalue. In some embodiments of the present invention, the outcome is ascaled integer value. Because the program code in embodiments of thepresent invention provides a quantitative outcome, comparison betweenvarious outcomes is straightforward for prioritization purposes. Theprogram code can also assign a value based on a scale, thus indicating adegree of positivity and/or negativity in the predicted outcome. In someembodiments of the present invention, the program code applies aprioritization algorithm 260 to determine a priority of engaging theindividual, not only from predicted benefits of a conversation, but alsousing personal needs, as determined from models including but notlimited to, Maslow's Need Hierarchy. Maslow's Need Hierarchy is amotivational theory in psychology comprising a five-tier model of humanneeds, often depicted as hierarchical levels within a pyramid. Needslower down in the hierarchy must be satisfied before individuals canattend to needs higher up. From the bottom of the hierarchy upwards, theneeds are: physiological, safety, love and belonging, esteem, andself-actualization.

In embodiments of the present invention, program code executing on thewearable device 210, obtaining data from the one or more sensors 215 candetermine needs of a given user. For example, in some embodiments of thepresent invention, the program code can utilize image capturecapabilities of the wearable device 210, as analyzed with a cognitiveagent, such as AI and/or contextual analysis algorithms to perceive andinterpret facial expressions of the user and recent interactions withothers. The program code of the wearable device 210, based on obtainingdata from the sensors 215 can also provide readings, including but notlimited to, biological information, such as blood pressure and pulserate. The program code can utilize a classification algorithm tointerpret the outward signs (facial expressions) and biologicalinformation, to classify needs of the user at the time at which therecommendation to initiate a conversation would be made by the programcode. The needs can include, in accordance with the aforementionedhierarchy, physiological, safety, love and belonging, esteem, andself-actualization. The program code determines needs of the user fromcontextual clues, for example, based on monitoring an individual, theprogram code can determine that the individual has expressed a need forsafety. Thus, the program code can prioritize a discussion with aneighbor who works as an insurance agent as this connection couldsatisfy the safety needs. Meanwhile, if the program code determines thatthe user is lonely (e.g., based on statements, blog posts,conversations, facial expressions, excitement indicated in biometricsigns during conversations, etc.), the program code can prioritizeinitiating a conversation with a friend could satisfy a need forlove/belonging. Based on monitored behaviors by the wearable device 210,program code utilizes a prioritization algorithm to determine, forexample, that initiating conversation with the neighbor who works as aninsurance agent would satisfy both a safety need and a need for love andbelonging of the user. As will be discussed later herein, prioritizationof contacts with individuals within a vicinity is utilized because inmany public spaces 220, a user will encounter more than one individualand could ostensibly initiate a conversation or other contact with morethan one individual and thus, the program code prioritized with whom theuser should initiate a contact or conversation. Hence, in embodiments ofthe present invention, the program code prioritizes recommendations byutilizing a correlation algorithm that considers the user's needs as onemore parameter of the priority order determination.

In embodiments of the present invention where the program code analyzesconversation/interaction possibilities with more than one individual,the program code provide the user, via the wearable device 210, not onlya recommendation for social interaction(s) with each individual, butalso with a priority list of the individuals who the program code hasdetermined are conversation candidates. In the illustrated embodiment ofthe present invention, for illustrative purposes, the machine learningalgorithm(s) 240, the classifier 250, and the prioritization algorithm,are executed on one or more servers 265. These servers are not locatedwithin the public space 220, in this example, although certain of themcould be, in some embodiments of the present invention. The servers 265can be physical and/or virtual machines.

In some embodiments of the present invention, based on the prioritylist, the program code recommends to the user (e.g., via a voice commanddelivered by the wearable device 210) with whom the user should start aconversation. The program code can provide recommendations in order ofpriority, progressing through the list, as the user provides verbaland/or other inputs to accept and/or rejection the recommendations,until the user selects a recommendation and/or the list is exhausted asall are rejected by the user. Recommendations in some embodiments of thepresent invention can be selected by the program code from a pre-definedlist, which can include: 1) initiate a conversation; and/or 2) do notinitiate a conversation. The first option can be presented in someexamples as sub-options, as the program code can recommend how toinitiate a conversation, including but not limited to, gesturing and/orverbally initiating the conversation.

When the user selects a recommendation, the program code, via thewearable device 210, provide the user with additional visual informationthat would enable the assist the user initiating the conversation. Forexample, is the user is sight impaired, the program code can indicate tothe user (e.g., via haptic and/or auditory feedback), a direction atwhich to initiate the conversation (as the positioning of the individualcould be such that it is captured by the device by the user is unable toperceive this positioning). Additionally, as there could be customs ofwhich the user is unaware, the program code (via the wearable device),could guide the initiation of the conversation of the user to make theuser aware of any customs or manners that would be relevant toinitiating a conversation with this individual. With the guidance fromthe wearable device, the user can then initiate the conversation withthe recommended (by the program code) and selected (by the user based onthe recommendation) individual.

The wearable device 210 can be an Internet of Things (IoT) device. Asunderstood by one of skill in the art, the Internet of Things (IoT) is asystem of interrelated computing devices, mechanical and digitalmachines, objects, animals and/or people that are provided with uniqueidentifiers and the ability to transfer data over a network, withoutrequiring human-to-human or human-to-computer interaction. Thesecommunications are enabled by smart sensors, which include, but are notlimited to, both active and passive radio-frequency identification(RFID) tags, which utilize electromagnetic fields to identifyautomatically and to track tags attached to objects and/or associatedwith objects and people. (In some embodiments of the present invention,the program code can identify an individual within a proximity of theuser based on obtaining a unique identifier associated with an IoTdevice utilized by the individual.) Smart sensors, such as RFID tags,can track environmental factors related to an object or an area,including but not limited to, temperature and humidity. The smartsensors can be utilized to measure temperature, humidity, vibrations,motion, light, pressure and/or altitude. IoT devices also includeindividual activity and fitness trackers, which include (wearable)devices or applications that include smart sensors for monitoring andtracking fitness-related metrics such as distance walked or run, calorieconsumption, and in some cases heartbeat and quality of sleep andinclude smartwatches that are synced to a computer or smartphone forlong-term data tracking. Because the smart sensors in IoT devices carryunique identifiers, a computing system that communicates with a givensensor can identify the source of the information. Although in someembodiments of the present invention, users actively register IoTdevices for utilization by the program code, in some embodiments of thepresent invention, the program code could automatically discoverpossible IoT devices and request confirmation from the users of thesedevices, for example, requesting permission from a user's device beforeproviding identification information and/or a recommendation to a user.Within the IoT, various devices can communicate with each other and canaccess data from sources available over various communication networks,including the Internet. Certain IoT devices can also be placed atvarious locations and can provide data based in monitoring environmentalfactors at the locations. For example, in embodiments of the presentinvention, localized IoT devices could within the public space 220 couldprovide observational data to the program code that would enable theprogram code to identify individuals proximate to the user and/or gatheradditional data to determine what recommendation should be made to theuser regarding this individual.

In embodiments of the present invention, the program code utilizes oneor more IoT devices to monitor and observe (with permission) both theuser and the individuals in the public space 220. For example, theprogram code can determine is an individual is engaged in an activityand in this situation, being approach and engaged in a conversation withan individual may not be welcome. IoT devices can monitor and captureuser activity through the collection of a wide range of data. IoTdevices can collect video, image, movement, and audio data, all of whichcan assist the program code in determining whether the user is engagedin an activity which could preclude being open to a conversation. Invarious embodiments of the present invention, program code can determinethat users are in application sessions on personal devices andtherefore, are not available to converse with the user, an IoT devicecould determine one or more of the following: 1) the user is visuallyfocused on the session; 2) the user is engaging a behavior thatindicates engagement with the session; and/or 3) the user is engaged inconversations that are relevant to the session.

Returning to FIG. 2, in the technical environment 200, the data source230, the machine learning algorithms 240, the prioritization algorithm260, and the classifier algorithm 250 (which can be considered a machinelearning algorithm), are all depicted as being part of a sharedcomputing system (e.g., a cloud), which is remotely accessible by thewearable device 210 of the user. However, this is just one possibletechnical configuration for these functionalities. For example, theseresources could all be local (or some could be local) to the wearabledevice 210.

FIG. 3 further illustrates a machine learning training system 300 thatcan be utilized to perform cognitive analyses of sensor and IoT data togenerate a recommendation for a given user. Program code can obtain datain embodiments of the present invention from one or more personaldevices (e.g., IoT devices, sensors, personal health trackers, physicalactivity trackers, smart watches, etc.), which the user and one or moreindividuals within a vicinity of the user can both be utilizing. Programcode in an embodiment of the present invention can obtain data fromthese personal devices indicating a physical state of each individualand also, activities that the individual and the user are engaged in.For example, a personal device can include an accelerometer and/or agyroscope. The program code can utilize these motion sensing devices toidentify physical activities. Machine learning (ML) solves problems thatcannot be solved by numerical means alone. In this ML-based example,program code extracts various features/attributes from training data310, which can be resident in one or more databases 320 comprising IoTdata (e.g., sensor data). In some embodiments of the present invention,the training data 340 can comprise historical activity data of the userwith the identified individual (e.g., past conversations andinteractions). The features are utilized to develop a predictorfunction, h(x), also referred to as a hypothesis, which the program codeutilizes as a machine learning model 330. In identifying variousfeatures/attributes (e.g., patterns) in the training data 340, theprogram code can utilize various techniques including, but not limitedto, mutual information, which is an example of a method that can beutilized to identify features in an embodiment of the present invention.Further embodiments of the present invention utilize varying techniquesto select features (elements, patterns, attributes, etc.), including butnot limited to, diffusion mapping, principal component analysis,recursive feature elimination (a brute force approach to selectingfeatures), and/or a Random Forest, to select the features. The programcode can utilize a machine learning algorithm 340 to train the machinelearning model 330 (e.g., the algorithms utilized by the program code),including providing weights for the conclusions, so that the programcode can prioritize various interactions, in accordance with thepredictor functions that comprise the machine learning model 330. Theconclusions can be evaluated by a quality metric 350. By selecting adiverse set of training data 340, the program code trains the machinelearning model 330 to identify and weight various attributes (e.g.,features, patterns) that correlate to various past interactions betweenthe user and the individual(s). Based on modeling the user's behavior asrelated to a given individual, the program code can determine whethertemporal sensor data represents an established pattern, indicating thatthe user should or should not engage with the individual.

FIG. 4 is an illustration of various aspects of another technicalenvironment 400 into which aspects of embodiments of the presentinvention can be implemented. The technical environment 400 can includea computer system 402 responsible for data processing that includes, forexample one or more servers executing program code. The program codeexecuting on the computer system 402 can receive data via, for example,network 404 from one or more data sources. According to one embodiment,the one or more data sources can include, for example, one or moredatabases 406 as well as one or more input devices 408 (i.e., clientdevices). According to one embodiment, the computer system 402 canprocess data of elements in a user's 420 vicinity that are monitored(with permission), via one or more input devices 408. For example, tomonitor a vicinity of a user, the program code can detect via, forexample, an image/video capturing component and/or an audio capturingcomponent, images, video and/or audio of one or more individuals 422 inthe user's 420 vicinity. Further, one or more actions 430A beingperformed by the one or more individuals 422 can also be detected, wherethe one or more actions 430A can include behaviors (e.g., movements,non-verbal communication, verbal communication, etc.) of the one or moreindividuals 422. Additionally, according to one or more embodiments, oneor more user actions 430B of the user 420 can also be detected by theprogram code.

The one or more input devices 408 can also detect context elements 440of the one or more actions 430A, 430B being performed. Further, theprogram code executed by the computer system 402 can analyze the one ormore individuals in the user's vicinity to determine whether the programcode can identify the one or more individuals. The program code 402 canalso analyze the one or more actions to determine a current circumstance(e.g., is the individual running as part of a physical workout orbecause the individual is late) of the one or more individuals. Thecomputer system 402 can also analyze context elements 440 of the one ormore actions to determine a current environment (e.g., a location, theweather, traffic conditions, etc.) in which the one or more individuals422 is located. The one or more client devices 408 can include, forexample a mobile device such as a phone, laptop, tablet, etc. having auser interface such as a haptic interface and/or a graphical userinterface (GUI).

FIG. 5 is an illustration of aspects of a technical architecture 500(e.g., computing infrastructure) into which aspects of the presentinvention can be implemented. For illustrative purposes only, in FIG. 5,certain functionalities of the program code (executed by one or moreprocessors of at least one server 510) are separated into modules. Theprogram code itself can include one or more modules and the depiction inthis figure is provided to assist in comprehension and not to impose anylimitations upon the program code. The functionality of the program codeis discussed in the context of FIG. 1, so as to illustrate how elementsof the technical environment 500 facilitate aspects of the workflow 100.

Referring to FIGS. 1 and 5, program code executing on one or moreprocessors captures an event proximate to an individual that theindividual is unable or unavailable to perceive (110) and a clientdevice 520, which can be an IoT device can capture this event. Theclient device 520 can include a user interface 522, aforementioned as ahaptic interface or as a graphical user interface (GUI), generated bythe program code. The technical environment 500 shows the applicationsof the client device 520, such as the user interface 522, as being aclient-server application, with the program code that generates the userinterface 522 being executed on one or more server(s) 510. However, insome embodiments of the present invention, the user interface 522 can bea thick client and a local processor could execute at least some of theprogram code that generates the user interface 522.

The event can be the presence of another individual proximate to anindividual who does not perceive this other individual. However, beyondjust the presence, program code in embodiments of the present inventioncan also capture a social interaction (or attempted social interaction)as an event. For example, information captured by the one or moresensors 524 can be an action. To interpret this action, the program codecan compare the action to learned social interactions 552 stored in amemory resource 550. The actions can include, but are not limited to awave, a smile, a hand extension for a handshake, a wink, an eye roll, ahead nod, an avoidance maneuver, etc. In some embodiments of the presentinvention, the program code can recommend that the user initiate contactwith an individual at a time later than the present. For example, if theprogram code determines, based on monitoring, that an individual isengaged in an activity, such as reading, and based on past contacts doesnot respond well to being disturbed, the program code could recommendthat the user initiate a contact at a later time. A recommendation toinitiate contact at a later time could include, but is not limited to,send an email, make a voice call, send a text message, initiate anin-person conversation in a different venue, etc. The program code candetermine how the communication is to be interpreted based on comparingthe communication to the learned social interactions 552. Based, atleast in part, on interpreting a communication captured via the one ormore sensors 524, by correlating the communication with learned socialinteractions 552, the program code can make a recommendation.

As discussed earlier, certain users who benefit from utilizing aspectsof some embodiments of the present invention can select usage of theseaspects to assist in social interactions that may or may not be hinderedto overcome personal challenges, including but not limited to permanentand/or temporary visual impairment. Thus, the user interface 522utilized in embodiments of the present invention and the utilitiesutilized to communicate with the user can be selected based on anyspecial considerations involving the user. For example, while anindividual with perception challenges related to social challenges mayutilize a GUI, an individual with sight impairment can utilize a userinterface 522 that interfaces with the user via haptic feedback and/orvoice commands. As discussed in FIG. 1, the program code recommends anaction to the individual (130) and thus, depending on the challengesand/or preferences of the user, the manner in which this recommendationis provided via the user interface 522, and/or the type of userinterface 522, can be personalized to the user.

As discussed in FIG. 1, the program code determines a (probable) impactof the event on the individual (120). A given event and a predictionrelated to the event, by the program code, can vary based on the contextof the event. Aspects of various embodiments of the present inventioncan assist the program code in contextualizing the event and therefore,in determining the impact. For example, in some embodiments of thepresent invention, based on the information collected by the one or moresensors 524 being classified as contextual information, the program codecan determine whether various elements captured by the image, video,and/or audio corresponds to circumstantial attributes saved as learnedcontexts 554 in a memory resource 550. The program code can determine,for example, why an individual is performing an action at the moment theimage, video, and/or audio was captured by a sensor. For example, usingthe learned contexts 554, the program code can determine that anindividual is running because the individual is late or that thisindividual is running because the individual is working out. Further,the program code can identify a current location (i.e.,social/environment setting) of a social interaction such as, forexample, whether the context includes a workplace setting, a dailycommute, a concert, attendance at a sporting event, using publictransportation, a current weather condition, etc. Additionally, thevarious elements captured by the image, video, and/or audio can be usedby the program code to determine events that recently happened using thelearned contexts 554. For example, the program code can determine thatan individual just missed the bus, that an individual just fell down,that an individual just lost an item, etc. According to one embodiment,the program code can also use the captured image, video, and/or audio asfeedback for learning new contexts that can then be stored as learnedcontexts 554. Based on identifying a context of a social interactioncaptured via the one or more sensors 524 by correlating the context ofthe social interaction with a learned context of the learned contexts554, the program code of the probable impacts module 514, can use thecontext of the social interaction to predict probable impacts.

In some embodiments of the present invention, the program code generatesa temporal profile of the individual that includes the action and thecontext. This temporal profile, or comprehensive composite profile canbe used, according to various embodiments, by the program code topredict probable impacts.

From the probable impacts, which can be a plurality of predictions basedon determining probable impacts that various actions will have on theuser and/or one or more individuals in the user's vicinity, the programcode generates, using the generating behavioral recommendation module516, a behavioral recommendation. The behavioral recommendationgenerated can be selected, for example, from various behavioralrecommendations 542 of one or more behavioral recommendation databases540. For example, the behavioral recommendation selected can be selectedbased on determining that the behavioral recommendation will provide abeneficial psychological impact to the user. According to oneembodiment, the behavioral recommendation is generated, for example,based on ranking the probable impacts to identify a probable impact thatwill provide a best beneficial psychological impact.

Returning to FIG. 5, the program code (executing in this non-limitingexample) on one or more servers 510 communicatively coupled to theclient device 520, to determine the impact of the event captured, inthis example, by the client device 520 (e.g., via the sensors 524),utilizes various data, including historical social interactions 512 withindividuals proximate to the user and the user (monitored by the programcode with the permission of the individuals and/or user). The programcode executing on the server(s) 510, in this example, is separated intoprogram code that monitors social interactions 512, including before andafter a recommendation is made by the program code, program code thatpredicts the impacts of actions 514, and program code that generates therecommendation 515. In generating the recommendation 514, the programcode can access (and utilize in its analysis), a profile of the user 534and/or profiles of individuals 532 within the vicinity of the user. Inthis example, the user profiles are maintained by the program code on aprofile database 530.

As aforementioned, prior to making a recommendation, the program code inembodiments of the present invention, identifies one or more individualswithin a vicinity of a user. As illustrated in FIG. 5, the user profile534 of the user as well as the profiles of the individuals 532 areutilized by the program code in some embodiments of the presentinvention when generating a recommendation 514. In some embodiments ofthe present invention, a user profile of the user and/or theindividual(s) can includes elements of a digital wardrobe of the user orthe individual (and/or of groups these individuals are a part of). Theprogram code can generate a user profile, initially, by cognitivelyanalyzing the digital wardrobe of a user/individual. As understood byone of skill in the art, a digital wardrobe is a collection of data thatcan be understood as a unique identifier for a user (individual orgroup). A user's digital wardrobe is comprised of all hardware andsoftware that a user interacts with. For example, not only is a user'sdigital wardrobe comprised of all physical computing devices a user mayutilize (e.g., personal computing device, Internet of Things devices,sensors, personal health trackers, physical activity trackers, smartwatches, digital thermostat, smart televisions, digital cameras,computerized exercise equipment, smart appliances, the client device520, etc.), it is also comprised of any software a user utilizes (e.g.,social media platforms, ecommerce applications, electronic mediasubscriptions, electronic media views, etc.), including those utilizedwith the client device 520. Because of the variety of devices andapplications available, those of skill in the art accept that twoindividuals will not have the same digital wardrobe. Thus, anindividual's digital wardrobe can be utilized as a unique identifier forthe individual. In addition to identifying a user, data that comprises adigital wardrobe can be utilized to tailor additional applications,software, events, experiences, to fit the parameters and preferences tothe user, based on extracting and analyzing this data from the user'sdigital wardrobe. In embodiments of the present invention, the programcode can extract elements of a user's digital wardrobe to generateportions of the profiles of the user and of the individuals.

Elements of a digital wardrobe for a given user of a client device 520can be accessed by the server(s) 520, via the client 520, viacommunications with IoT devices (including in the case where the clientdevice 520 is an IoT device). Because the smart sensors in IoT devicescarry unique identifiers (e.g., sensors 524), a computing system thatcommunicates with a given sensor 524 (e.g., a personal computing device,the client 520) can identify the source of the information. Within theIoT, various devices can communicate with each other and can access datafrom sources available over various communication networks, includingthe Internet. Thus, based on communicating with the client device 520,program code executing on the server 510 can obtain digital wardrobedata from the client 520, to configure the user profile 534 and retainthe user profile 534 in a profile database 530.

The program code can also determine a (probable) impact of the event onthe individual (120) at least in part, by utilizing an existingcognitive agent in order to perform analyses that predict probableimpacts of the event 514 and generate the behavioral recommendation 516for the user. As will be discussed herein, various data relevant to auser (current and past conversations with the user and third parties,social media posts, exhibited physical behavior, third party opinions,etc.), which can be obtained by the program code, can be analyzed by theprogram code for what is described herein as core values (e.g., based onkeywords, pre-existing classifications of opinions, etc.) can beanalyzed by the program code by utilizing a cognitive agent. The programcode can use these analysis to build a memory resource 550 of learnedsocial interactions 552 and learned contexts 554. For example, in someembodiments of the present invention, the program code can utilize anexisting cognitive agent to determine the subject of a conversation (orisolated communication), determine the subject(s) of theconversation/communication, and determine whether the subject(s) isrelevant to a pre-defined set of core values. One such cognitive agentthat can be utilized in embodiments of the present invention is IBMWatson®. For example, in some embodiments of the present invention, theprogram code interfaces with the application programming interfaces(APIs) that are part of a known cognitive agent, such as the IBM Watson®Application Program Interface (API), a product of International BusinessMachines Corporation, to identify a subject and/or context of an oralcommunication and/or written communication (e.g., conversation, socialmedia post, etc.). To analyze a communication, for example, three APIsthat can be utilized in embodiments of the present invention include,but are not limited to IBM Watson® Natural Language Classifier (NLC),IBM Watson® Natural Language Understanding, and IBM Watson® ToneAnalyzer. As understood by one of skill in the art, the IBM Watson® APIsare only provided to offer an example of possible APIs that can beintegrated into embodiments of the present invention and to illustratethe functionality of the program code in embodiments of the presentinvention, whether through integration of an existing cognitiveengine/agent or not.

In some embodiments of the present invention, the cognitive naturallanguage processing (NLP) capabilities of the program code areimplemented as a machine learning system that includes a neural network(NN). In certain embodiments of the present invention the program codeutilizes supervised, semi-supervised, or unsupervised deep learningthrough a single- or multi-layer NN to correlate various attributes fromunstructured and structured data related to a user and individualswithin a physical vicinity of the user (e.g., gathered by the programcode from personal computer devices, which can include Internet ofThings (IoT) devices). The program code utilizes resources of the NN toidentify and weight connections from the attribute sets in the audio todetermine the context of the conversation(s) and whether theconversation(s) are relevant to the core values. For example, the NN canidentify certain keywords that indicate a relevant to the core values.

As understood by one of skill in the art, neural networks are abiologically-inspired programming paradigm which enable a computer tolearn from observational data. This learning is referred to as deeplearning, which is a set of techniques for learning in neural networks.Neural networks, including modular neural networks, are capable ofpattern recognition with speed, accuracy, and efficiency, in situationwhere data sets are multiple and expansive, including across adistributed network of the technical environment. Modern neural networksare non-linear statistical data modeling tools. They are usually used tomodel complex relationships between inputs and outputs or to identifypatterns in data (i.e., neural networks are non-linear statistical datamodeling or decision making tools). In general, program code utilizingneural networks can model complex relationships between inputs andoutputs and identify patterns in data. Because of the speed andefficiency of neural networks, especially when parsing multiple complexdata sets, neural networks and deep learning provide solutions to manyproblems in image recognition, speech recognition, and natural languageprocessing (NLP). Thus, by utilizing an NN the program code can identifyattributes and classify these attributes as relevant to a various corevalues of the user and/or individuals within a physical vicinity of theuser.

As depicted in FIG. 1, the program code tracks the impacts of therecommended action, if facilitated by the individual, based on therecommendation (140) and utilizes the data related to the impacts toupdate logic related to future recommendations (150). Hence, returningto FIG. 5, in addition to collecting explicit feedback from users, viathe user interface 522, the program code also generates implicitfeedback based on detecting, via one or more sensors 524, which the userimplemented or did not implement the behavior recommended by the programcode of behavioral recommendation 542 module. For example, inembodiments of the present invention where program code captured audio(with permission) via the one or more sensors 524, the program code canmake a determination that the user initiated a conversation based on thebehavioral recommendation 542, which included a recommendation toinitiate a conversation. According to various embodiments of the presentinvention, the program code can analyze images and/or video captured bythe one or more sensors 524 and utilize this data to make thedetermination regarding whether the user initiated the conversation.Specifically, the program code can analyze these images and/or videos todetermine whether they include, for example, individuals, thesurrounding environment, facial expressions, eye movement, bodylanguage, location of individuals relative to the user, etc. Based onthe data from the one or more sensors 524 including an image and/orvideo, the program code can perform, for example, facial recognition toidentify individuals and action recognition to identify actions beingtaken by these individuals. (In some embodiments of the presentinvention, the one or more sensors 524 are communicatively coupledand/or executing on the one or more client devices 520.)

In some embodiments of the present invention, the program code canutilize existing recognition methods to determine whether the userinitiated the recommended conversation and to track and categorize datafrom the conversation. As one non-limiting example, the program code canutilize IBM Watson® Visual Recognition to detect for specific content.The program code of the present invention interprets audio, image,video, and/or other data obtained by the one or more sensors 524. Thisprogram code is illustrated in FIG. 5 as a monitoring socialinteractions module 512, which is executed by one or more processors ofat least one server 510. The program code of the monitoring socialinteractions module 512 collects information from the one or moresensors 524 and can perform, for example, conversion analysis to convertimages, video and/or audio to text using a speech to text algorithm. Thetext can then be classified as including identifying information to beused to identify one or more individuals, as including an action (e.g.,a communication) performed by the one or more individuals, and asincluding context information to be used to ascertain a context of theactions performed by the one or more individuals. Once categorized, theprogram code can perform various functions depending on how theinformation is classified.

Based on the program code classifying information as identifyinginformation, the program code can further determine whether theidentifying information corresponds to an individual for whom a profilehas been generated and stored in one or more profile databases 530 thatstore profiles of individuals 532. According to one embodiment, theprogram code can, for example, perform facial identification an image ofan individual captured by the one or more sensors 524 and determinewhether the facial features of the individual correspond to facialfeatures of an individual stored in one or more profile databases 530.The program code can, for example, perform voice recognition to comparea voice of an individual captured by the one or more sensors 524 tovoices of individuals whose profiles are stored in one or more profiledatabases 530. According to one embodiment, based on determining that,for example, the image, video, or audio does not correspond to anyprofiles of the profiles of individuals 532, the program code generatesa new profile for the individual based on this data. Alternatively,based on determining that, for example, the image, video, and/or audiodoes correspond to a saved profile of the profiles of individuals 532,the program code can identify the individual use information saved inthe profile of the individual and updated this information such that theupdated information can be utilized by the program code in futurepredictions.

In embodiments of the present invention, when the program coderecommends an action to the individual (FIG. 1, 130), based on probableimpacts, the program code, when recommending that the individualinitiate a conversation or contact with another individual, hasdetermined that there is value in having this conversation or contact.In some embodiments of the present invention, the program code evaluatesparticular values of the individual and the prospective conversationpartner in order to determine whether this conversation would have valueand hence, whether to recommend initiating a conversation. Below is anon-exclusive list of certain values that the program code evaluates inembodiments of the present invention:

Justice/Injustice

Trust/Mistrust

True/Untrue

Belief/Absence of Belief

Gain/Loss

Ethical/Unethical

Interesting/Uninteresting

Secure/Insecure

Information that at least partially be gained from visual cues can oftenenable an individual to make value judgments about another individual, asubject, which could lead that first individual to decide to initiate ornot to initiate a conversation with the subject. This information caninclude, but is not limited to: 1) opinions expressed in pastconversations with the subject (e.g., when a conversation happened withthe subject in the past, the subject always expressed a negativecharacterization and a disagreement with the government's economicpolicies); 2) opinions expressed in social media by the subject (e.g.,support for an organization engaging in certain activities which thesubject views as unethical); 3) any activities by the subject visible tothe other individual, that can form a perceived value (e.g., the subjectinteracted negatively with an individual who appeared to be in need ofassistance); 4) opinions highlighted by a third party about the subject(e.g., the subject participated in an activity for personal financialgame at the expense of another entity). Returning to the example of anindividual who cannot perceive visual cues, due to challenges related toperception, including but not limited to compromised eyesight, thisindividual may miss certain data that could be utilized to perform acore value perception about the subject. This individual can potentiallymiss information used in these judgments by not perceiving the subjector other individuals that interact with the subject (e.g., in a publicplace).

Referring back to FIG. 2, the program code can utilize a classifier 250to classify the individual based on what the program code determined arethe perceived core and non-core values of the individual (explained ingreater detail herein). FIG. 6 depicts a core values analysis while FIG.7 depicts a non-core values analysis. Both of these analyses enable theprogram code to predict whether a conversation between the individualand the subject is likely to be positive.

FIG. 6 is a block diagram that depicts how the program code in someembodiments of the present invention evaluates the core values of asubject in order to determine core values of the subject, which theprogram code than utilizes to determine whether a conversation betweenthe individual and the subject would be productive/positive/useful. Asdiscussed earlier, in embodiments of the present invention, program codefirst identifies the subject and based on this identification, obtainsadditional information. Thus, once the subject is identified by theprogram code (e.g., based on a recognition program, a digital wardrobe,a device, etc.) the program code obtains various inputs corresponding tothe individual, including but not limited to, past conversations 602between the user and the individual, social media posts 604 posted bythe individual, physical behavior exhibited 606 by the individual, thirdparty opinions 608 about the individual, and conversations theindividual has had with others 610. The program code performed variousanalyses on this data 620, in order to identify 630, core values of theindividual. As the data inputs are varied, the program code can employdifferent types of analyses to extract the content of the inputs andcorrelate this content with values. As aforementioned, embodiments ofthe present invention aid a user in decision-making related toinitiating contacts and/or conversations with other individuals(subjects) based on the program code determining shared and/orcompatible values of the user and one or more subjects. As explainedherein, the program code continually perceives and updates the values ofthe individuals within a vicinity in order to recommend contacts to theuser, based on correlations of values. The analyzing by the program codecan include, for example, conversation analysis, tone analysis, visualrecognition, facial expression and gesture analysis, and contextanalysis. As discussed herein, to determine the values of variousindividuals, program code in embodiments of the present invention,captures a) expressed opinions in social media by the users and b)correlated values of bodily parameters measured from the users in theevent of knowledge about particular event related to the subject.

As illustrated in the example in FIG. 6, the program code categorizesthe analyzed inputs into perceived core values 630. In thiscategorization, the program code can apply a profile building model thatcan be trained to determine core values of the subject, and the profilebuilding model can be trained using a profile building algorithm thatuses data assigned to the subject based on the various inputs. Theexample categories, which were referred to above, are also provided inTable A: justice/injustice (J), trust/mistrust (T), true/untrue (Tr),believe/do not believe (B), gain/loss (G), ethical/unethical (E),interesting/uninteresting (I), and secure/insecure (S). These categoriesare provided herein as example core values, for illustrative purposes,only.

The profile building model can include a weight (a1) that can correspondto all positive values and a same weight of opposite polarity (−a1) thatcan correspond to all negative values. When no inputs have beenobtained, the profile building model can have a default perception thatof a positive core value (i.e., the core value has a correspondingpositive sign). The default of the perceived value (Pv) can berepresented, for example, by:Pv=a1*J+a1*T+a1*Tr+a1*B+a1*G+a1*E+a1*I+a1*S. The program code assignedweights to the categories for each interaction (I) as either a positiveor negative value.

TABLE A Values J T Tr B G E I S Polarity Weight a1 −a1 a1 −a1 a1 −a1 a1−a1 a1 −a1 a1 −a1 a1 −a1 a1 −a1 I-1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 I-20 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 I-3 . . . . . . I-n

Further, as more interactions (I) are obtained, other parameters,including how recent and frequency, can be accounted for by the profilebuilding model. How recent a particular interaction was and how frequentthis type of interaction was become more important to the program codein determining the core values as the number of interactions increase.An example of accounting for frequency (but not how recent), where ‘n’is a weight indicative of frequency (e.g., a higher value for ‘n’corresponding to a higher frequency) can be expressed by:Pv=a1*n*J+a1*n*T+a1*n*Tr+a1*n*B+a1*n*G+a1*n*E+a1*n*I+a1*n*S. An exampleaccounting for both frequency and how recent, where ‘n’ is the weightindicative of frequency and ‘k’ is a weight indicative of how recent(e.g., a higher value for ‘k’ corresponding to more recent data) can beexpressed by:Pv=a1*(k*n)*J+a1*(k*n)*T+a1*(k*n)*Tr+a1*(k*n)*B+a1*(k*n)*G+a1*(k*n)*E+a1*(k*n)*I+a1*(k*n)*S.Thus, according to one embodiment, the profile building model can derivea perceived value for the individual of each core value and provide moreweight to perceived values that occur more frequently and have occurredmore recently. The program code, using this model, will derive eachperceived value and the total perceived value by providing higherweights for values that have been exhibited a higher number of times,and more recently.

In addition to FIG. 7 depicts the evaluation by the program code ofnon-core values to determine whether a conversation/interaction betweenan individual and a subject would be positive. In this example, a useris an entity that is receiving a recommendation from the program codeand the individual is the subject that is being evaluated by the programcode for interaction with the user. FIG. 7 is a workflow that depictsvarious aspects of this analysis by the program code. In someembodiments of the present invention, program code obtains data thatincludes, but is not limited to past conversations 710 of an individualand posts in public social media accounts 720 by the individual, togenerate an individual profile 730 of the individual. In order togenerate this profile, the program code can utilize APIs of an existingcognitive agent. In some embodiments of the present invention, theprogram code generate and individual profile 730 for the individual (aswell as for the subject) using a classification algorithm thatclassifies all the information known about the individual, as parsed bythe cognitive agent. The individual profile 730 can include, forexample, an area of work (e.g., profession, professional field, etc.), aplace of work (e.g., company, regional location, office address, etc.),hobbies, interests, achievements, recent events in which the individualhas participated, other unique information about the individual, as wellas core values derived via, for example, the profile building model.According to one embodiment, generating the individual profile 730 canbe a continuous process as various inputs can be continually obtained,via network connectivity to various resources.

In the same manner as the program code generates a profile for anindividual, the program code can generate a profile for a user, in someembodiments of the present invention. The program code in thisnon-limiting examples analyzes past conversations 740 and the socialmedia accounts 750 of the user to whom the program code provides thebehavioral recommendation. A user profile 760 can be generated, forexample, using a classification algorithm that classifies allinformation known about the user. The user profile 760 can include, forexample, historical information about the user, as well as a currentemotional state of the user. Historical information about the user caninclude, for example, an area of work, place of work, hobbies,interests, recent events in which the user participated, and otherunique information. The current emotional state of the user can include,for example, a current issue that the user hopes to address (e.g., asrevealed in social media posts and/or part conversations).

As discussed above, aspects of the present invention can be ofparticular use to individuals with visual perception challenges. Thus,in order to generate a profile for a user with these challenges, inorder for the program code to correlate non-core values and determinewhether a conversation outcome is likely positive (based on a thresholddetermination), aspects of some embodiments of the present invention canassist the program code in obtaining data about the user which theprogram code analyzes to generate the profile. For example, in someembodiments of the present invention, as discussed above, a user wearsan image and audio capture device, which can capture (as data analyzedby the program code to generate a user profile) surroundings of the userand activities being performed by the user, as well as conversationsthat the user is engaging in with all subjects (in conformance with alllocal laws and with the consent of the parties, as needed). All datacollected and handled by the program code in embodiments of the presentinvention is collected based on users as well as subjects opting intoparticipation. The program code handles and stores all data discretelyand securely, and disposes of any data (if/when it disposes of data)discretely and securely. A user is provided with an option to opt out atany time and data collection and analysis is performed by the programcode with the express consent of the user (and the subjects). Theprogram code can utilize an image analysis algorithm to analyze theimages and can utilize an algorithm to convert the conversations totext. The program code can utilize a NLP algorithm to extract subjectsfrom the text. Similarly, the program code can analyze the text ofsocial media postings by the user. The program code can apply aclassification algorithm to generate attributes that comprise a profileof the user.

Hence, as depicted in FIG. 7, for both an individual and a user, theprogram code continuously obtains data (audio, video, and text),analyzes the data (utilizing algorithms to extract context and subjects,e.g., based on keywords), and applies a classification algorithm toclassifies all this information to generate a user profiles. Thegeneration of the profile for each entity is a continuous process andthis, the program code can continuously update profiles based on thelatest data available. In the examples, provided, the specificattributes that comprise the entity profiles are provided forillustrative purposes only and do not suggest any limitations. As can beappreciated by one of skill in the art, this model can be generalized,particularized, and/or extended for any type and any number of profileattributes and their values.

Based on this analysis of non-core values, the program code predicts abenefit of performing various actions including, for example, apredicted benefit of the user having a conversation with the individual.In some embodiments of the present invention, based on a pre-determinedscale of compatibility (matching of non-core values or attributes of theuser profile 760 and the individual profile 730), the program codeassigns a value (binary, scale, etc.) to having the conversation. Forexample, the data obtained by the program code about an individual canindicate that the individual works for a book publishing company, whichthe program code stores in profile 730. The program code obtains dataindicating that the user writes as a hobby (which the program coderetains in the user profile 760). The program code determines that theseattributes are compatible. In some embodiments of the present invention,the program code can use the data obtained about the user and theindividual to perform a sentiment analysis to determine whether theseentities would be open to a conversation at a given point in time. Theprogram code can determine these sentiments by using a cognitive agentto analyze blog posts and other communications. For example, if theprogram code determined that the user was recognized for performingcommunity service to read stories to children and is excited afterfinding out that a close friend was offered a contract by a bookpublisher to publish their book, the program code can determine that theperceived value of having a meaningful conversation about books(provided that the user is interested in books), could be high.

Table B provides an example correlation table where values v1, v2, andv3 are assigned based on perceived values in order to facilitategenerating the behavioral recommendation. For example, v1 represents abaseline value, v2 indicates a moderate perceived value, and v3indicates a highest possible perceived value of having a meaningfulconversation. The examples in Table B are provided for illustrativepurposes only and not to limit non-core values that can be evaluated bythe program code.

TABLE B Individual's Profile Work for Book Traveled to PublishingCompany Golfs Mexico Recently . . . . . . Skis User's Story Writing v2v1 v1 v1 Profile Hobby Excitement for v3 v1 v1 . . . . . . v1 Friend'sbook contract Community v2 v1 v1 . . . . . . v1 Service Recognition . .. . . . . . . . . . . . . . . . . . . Skis v1 v1 v1 . . . . . . v2 . . .. . . . . . . . . . . . . . . . . . Need for v3 v1 v1 . . . . . . v1Emotional Connection

According to one embodiment, training data can be used to train a matrixon which combinations of attributes are likely to have a highcorrelation value (e.g., v3), which indicate a high perceived value ofhaving a conversation. Once the matrix is trained for a givenindividual, the program code can derive the perceived value of havingthe conversation 770. The perceived value of having the conversation 770can be included, for example, with other parameters to develop thecomprehensive composite profile used by the program code to make abehavioral recommendation. As described herein, the program code candetermine a user profile of an individual, which can include, but is notlimited to, assessments of core values, assessments of non-core values,behavioral observations, conversational contextualizations,circumstantial attributes, relationships, etc.

As explained earlier, FIG. 8 illustrates the operation of aclassification algorithm in embodiments of the present invention. Theprogram code applies the classification algorithm to determinelikelihoods of positive or negative outcomes when an individual utilizesaspects of the present invention to determine whether to initiate aconversation with a subject. In one example, the classifications of thealgorithm include classes for: 1) High perceived value and positiveoutcome; 2) High perceived value and negative outcome; 3) Low perceivedvalue and negative outcome; and 4) Low perceived value and positiveoutcome. In embodiments of the present invention, these values can berelative to each other and/or within predefined quantitative boundaries,based on similarities. In embodiments of the present invention, theprogram code recommends that a user initiate a conversation with asubject if the program code determines that conditions indicate, basedon application of the classification algorithm, a class of a positiveoutcome.

FIG. 8 illustrates the application, by the program code, of a classifieralgorithm, to various types of (aforementioned) data obtained by theprogram code. The program code collects the data in an interactiondatabase 802. The collected data includes information about aconversation that can be used to modify a perceived value of having theconversation. For example, program code can use a profile of anindividual, which includes perceived core values 810, perceived non-corevalues 812, as well as other conversation influencing factors 814including, for example, actions performed by the individual 816, contextof a social interaction 818, context elements 820, and an existingrelationship level 822 to determine whether to initiate a conversation(using the classifier algorithm). Conversation outcome indicators 830can be used by the program code to analyze the conversation 832 (e.g.,determine how the conversation is impacting the user and theindividual), analyze behavior of the individual during the conversation834, and determine an emotional state of the user during theconversation 836. The conversation outcome indicators 830 can be used asfeedback to rate a conversation outcome 838 and perform machine learningto modify future behavioral recommendations based on the feedback. Insome embodiments of the present invention, the program code capturesinstances conversations between a user and a subject. Informationobtained during a conversation can be used, for example, to providefeedback to update an individual profile and a user profile. Further,program code in embodiments of the present invention, based oncontinuing to obtain data after making a recommendation, determineswhether an actual outcome of a behavioral recommendation corresponds tothe predicted outcome and based on the correlation weights, the programcode can reassign value for algorithms used to train various predictionmodels. As understood by one of skill in the art, the program codesperceptions of emotions of a user during a conversation 836 are ofparticular use when aspects of the present invention are utilized by anindividual who cannot perceive the listed elements (e.g., facialgesture, level of excitement, etc.) without the aid of a wearable devicebased on challenges, including but not limited to, sight impairment.

Returning to FIG. 1, in embodiments of the present invention, during theconversation (as well as contemporaneously with providing arecommendation), the program code can provide inputs into a hapticdevice to aid the individual in addressing the subject (150). As theuser device can be geared toward assisting individuals with perceptionchallenges, FIG. 9 provides an example of an interface generated by theprogram code in embodiments of the present invention that would assist auser with initiating a conversation as well as with conducting theconversation. Specifically, FIG. 9 is an example of an electronic device900 with a haptic user interface that is controlled by the program code,in some embodiments of the present invention. In this non-limitingexample, the haptic user interface can include various squares 910, eachsquare corresponding, for example, to global positioning coordinates. Adirection-finding haptic algorithm is used to map, via the varioussquares 910, positions of one or more individuals in the user's vicinityrelative to a current position of the user. Thus, a user can touch thehaptic user interface and determine an approximate location of anindividual in the user's vicinity.

Embodiments of the present invention include a computer-implementedmethod, a computer program product, and a computer system where programcode executing on one or more processors obtains, based on monitoring adefined vicinity of a user, via one or more input devicescommunicatively coupled to the one or more processors, the one or moreinput devices comprising an audio capture device and an image capturedevice, environmental data comprising captured audio data and capturedimage data. The program code generates, based on the environmental data,a user profile for the user, where generating the user profile comprisescognitively analyzing the environmental data to perform a binaryvaluation of one or more pre-defined core attributes. The program codeidentifies, based on the environmental data, one or more entities withinthe vicinity of the user. Based on the identifying, the program codegenerates, based on the environmental data, a subject profile for eachentity of the one or more entities, where generating the subjectprofile, for each entity of the one or more entities, comprisescognitively analyzing the environmental data to perform the binaryvaluation of the one or more pre-defined core attributes. The programcode predicts, based on applying a classifier algorithm to the userprofile and each subject profile, a classification representing aperceived positive or negative outcome of the user initiating a contactwith each entity of the one or more entities. Based on predicting apositive outcome for at the user initiating the contact with at leastone entity of the one or more entities, the program generates arecommendation to initiate the contact with the at least one entity. Theprogram code transmits, to the user, via a haptic interface of the oneor more input devices, the recommendation to initiate the contact withthe at least one entity, wherein the haptic interface indicates alocation of the at least one entity, relative to the user, within thevicinity.

In some embodiments of the present invention, the pre-defined coreattributes comprise a value system, and the binary valuation of one ormore pre-defined core attributes is from a perspective of the user, asperceived by cognitively analyzing environmental data within the definedvicinity of the user, obtained by the one or more input devices, and theone or more input devices comprise at least one a wearable device wornby the user.

In some embodiments of the present invention, the program codecognitively analyzing the environmental data further comprises: theprogram code analyzing the environmental data, utilizing a naturallanguage processing algorithm and an image recognition algorithm, toidentify personal attributes in the environmental data and to associateone or more of the identified personal attributes with the user and eachentity of the one or more entities, where the one or more personalattributes associated with the user comprise the user profile, and wherethe one or more personal attributes associated with each entity of theone or more entities comprises the subject profile of the entity.

In some embodiments of the present invention, the program code obtains,based on the identifying, historical data describing conversationsbetween each entity of the one or more entities and the user, where thepredicting by the program code further comprises: the program codeadjusting the perceived positive or negative outcome of the userinitiating the contact with each entity of the one or more entities,based on the historical data.

In some embodiments of the present invention, the at least one entitycomprises two or more entities, the program code generating therecommendation further comprises: the program code determining, based oncognitively analyzing the environmental data, an immediate need of theuser; the program code prioritizing, the two or more entities such thatan entity of the two or more entities with a highest probability ofmeeting the need of the user is assigned a highest priority, where theprogram code prioritizing is based on the program code comparing the oneor more personal attributes associated with each entity of the two ormore entities with the need and correlating the one or more personalattributes with the need, where the entity of the two or more entitieswith the highest probability of meeting the need of the user is theentity of the two or more entities with one or more attributes thatcorrelate most closely with the need; and the program code generatingthe recommendation, wherein the recommendation identifies the entity ofthe two or more entities with the highest probability of meeting theneed of the user.

In some embodiments of the present invention, the immediate need of theuser was obtained by the one or more processors and identified based onthe cognitive analysis.

In some embodiments of the present invention, the program codeprioritizing further comprises the program code applying aprioritization algorithm.

In some embodiments of the present invention, the program code obtains aresponse comprising an acceptance or a rejection of the recommendation.The program code automatically updates the user profile and at least onesubject profile based on the response.

In some embodiments of the present invention, the one or morepre-defined core attributes are selected from the group consisting of:justice or injustice, trust or mistrust, true or untrue, belief orabsence of belief, gain or loss, ethical or unethical, interesting oruninteresting, and secure or insecure.

In some embodiments of the present invention, the program codeidentifying the one or more entities within the vicinity of the userfurther comprises, for each entity: the program code extracting, fromthe environmental data, at least one facial image of the entity, and theprogram code utilizing a facial recognition program to identify theentity.

In some embodiments of the present invention, the program codeidentifies the one or more entities, queries, one or more publiclyavailable computing resource to obtain social media postings by the oneor more entities. The program code cognitively analyzes the obtainedsocial media postings to identify additional personal attributes in theenvironmental data and to associate one or more of the identifiedadditional personal attributes with each entity of the one or moreentities, where the one or more additional personal attributesassociated with each entity of the one or more entities comprises thesubject profile of the entity.

Referring now to FIG. 10, a schematic of an example of a computing node,which can be a cloud computing node 10. Cloud computing node 10 is onlyone example of a suitable cloud computing node and is not intended tosuggest any limitation as to the scope of use or functionality ofembodiments of the invention described herein. Regardless, cloudcomputing node 10 is capable of being implemented and/or performing anyof the functionality set forth hereinabove. In an embodiment of thepresent invention, the one or more profile databases 230 (FIG. 2), oneor more behavioral recommendation databases 240 (FIG. 2), and/or the atleast one server 210 (FIG. 2) can each comprise a cloud computing node10 (FIG. 10) and if not a cloud computing node 10, then one or moregeneral computing nodes that include aspects of the cloud computing node10.

In cloud computing node 10 there is a computer system/server 12, whichis operational with numerous other general purpose or special purposecomputing system environments or configurations. Examples of well-knowncomputing systems, environments, and/or configurations that may besuitable for use with computer system/server 12 include, but are notlimited to, personal computer systems, server computer systems, thinclients, thick clients, handheld or laptop devices, multiprocessorsystems, microprocessor-based systems, set top boxes, programmableconsumer electronics, network PCs, minicomputer systems, mainframecomputer systems, and distributed cloud computing environments thatinclude any of the above systems or devices, and the like.

Computer system/server 12 may be described in the general context ofcomputer system-executable instructions, such as program modules, beingexecuted by a computer system. Generally, program modules may includeroutines, programs, objects, components, logic, data structures, and soon that perform particular tasks or implement particular abstract datatypes. Computer system/server 12 may be practiced in distributed cloudcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed cloud computing environment, program modules may be locatedin both local and remote computer system storage media including memorystorage devices.

As shown in FIG. 10, computer system/server 12 that can be utilized ascloud computing node 10 is shown in the form of a general-purposecomputing device. The components of computer system/server 12 mayinclude, but are not limited to, one or more processors or processingunits 16, a system memory 28, and a bus 18 that couples various systemcomponents including system memory 28 to processor 16.

Bus 18 represents one or more of any of several types of bus structures,including a memory bus or memory controller, a peripheral bus, anaccelerated graphics port, and a processor or local bus using any of avariety of bus architectures. By way of example, and not limitation,such architectures include Industry Standard Architecture (ISA) bus,Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, VideoElectronics Standards Association (VESA) local bus, and PeripheralComponent Interconnect (PCI) bus.

Computer system/server 12 typically includes a variety of computersystem readable media. Such media may be any available media that isaccessible by computer system/server 12, and it includes both volatileand non-volatile media, removable and non-removable media.

System memory 28 can include computer system readable media in the formof volatile memory, such as random access memory (RAM) 30 and/or cachememory 32. Computer system/server 12 may further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia. By way of example only, storage system 34 can be provided forreading from and writing to a non-removable, non-volatile magnetic media(not shown and typically called a “hard drive”). Although not shown, amagnetic disk drive for reading from and writing to a removable,non-volatile magnetic disk (e.g., a “floppy disk”), and an optical diskdrive for reading from or writing to a removable, non-volatile opticaldisk such as a CD-ROM, DVD-ROM or other optical media can be provided.In such instances, each can be connected to bus 18 by one or more datamedia interfaces. As will be further depicted and described below,memory 28 may include at least one program product having a set (e.g.,at least one) of program modules that are configured to carry out thefunctions of embodiments of the invention.

Program/utility 40, having a set (at least one) of program modules 42,may be stored in memory 28 by way of example, and not limitation, aswell as an operating system, one or more application programs, otherprogram modules, and program data. Each of the operating system, one ormore application programs, other program modules, and program data orsome combination thereof, may include an implementation of a networkingenvironment. Program modules 42 generally carry out the functions and/ormethodologies of embodiments of the invention as described herein.

Computer system/server 12 may also communicate with one or more externaldevices 14 such as a keyboard, a pointing device, a display 24, etc.;one or more devices that enable a user to interact with computersystem/server 12; and/or any devices (e.g., network card, modem, etc.)that enable computer system/server 12 to communicate with one or moreother computing devices. Such communication can occur via Input/Output(I/O) interfaces 22. Still yet, computer system/server 12 cancommunicate with one or more networks such as a local area network(LAN), a general wide area network (WAN), and/or a public network (e.g.,the Internet) via network adapter 20. As depicted, network adapter 20communicates with the other components of computer system/server 12 viabus 18. It should be understood that although not shown, other hardwareand/or software components could be used in conjunction with computersystem/server 12. Examples include, but are not limited to: microcode,device drivers, redundant processing units, external disk drive arrays,RAID systems, tape drives, and data archival storage systems, etc.

It is to be understood that although this disclosure includes a detaileddescription on cloud computing, implementation of the teachings recitedherein are not limited to a cloud computing environment. Rather,embodiments of the present invention are capable of being implemented inconjunction with any other type of computing environment now known orlater developed.

Cloud computing is a model of service delivery for enabling convenient,on-demand network access to a shared pool of configurable computingresources (e.g., networks, network bandwidth, servers, processing,memory, storage, applications, virtual machines, and services) that canbe rapidly provisioned and released with minimal management effort orinteraction with a provider of the service. This cloud model may includeat least five characteristics, at least three service models, and atleast four deployment models.

Characteristics are as follows:

On-demand self-service: a cloud consumer can unilaterally provisioncomputing capabilities, such as server time and network storage, asneeded automatically without requiring human interaction with theservice's provider.

Broad network access: capabilities are available over a network andaccessed through standard mechanisms that promote use by heterogeneousthin or thick client platforms (e.g., mobile phones, laptops, and PDAs).Resource pooling: the provider's computing resources are pooled to servemultiple consumers using a multi-tenant model, with different physicaland virtual resources dynamically assigned and reassigned according todemand. There is a sense of location independence in that the consumergenerally has no control or knowledge over the exact location of theprovided resources but may be able to specify location at a higher levelof abstraction (e.g., country, state, or datacenter). Rapid elasticity:capabilities can be rapidly and elastically provisioned, in some casesautomatically, to quickly scale out and rapidly released to quicklyscale in. To the consumer, the capabilities available for provisioningoften appear to be unlimited and can be purchased in any quantity at anytime.

Measured service: cloud systems automatically control and optimizeresource use by leveraging a metering capability at some level ofabstraction appropriate to the type of service (e.g., storage,processing, bandwidth, and active user accounts). Resource usage can bemonitored, controlled, and reported, providing transparency for both theprovider and consumer of the utilized service.

Service Models are as follows:

Software as a Service (SaaS): the capability provided to the consumer isto use the provider's applications running on a cloud infrastructure.The applications are accessible from various client devices through athin client interface such as a web browser (e.g., web-based email). Theconsumer does not manage or control the underlying cloud infrastructureincluding network, servers, operating systems, storage, or evenindividual application capabilities, with the possible exception oflimited user specific application configuration settings.

Platform as a Service (PaaS): the capability provided to the consumer isto deploy onto the cloud infrastructure consumer-created or acquiredaFlpplications created using programming languages and tools supportedby the provider. The consumer does not manage or control the underlyingcloud infrastructure including networks, servers, operating systems, orstorage, but has control over the deployed applications and possiblyapplication hosting environment configurations.

Infrastructure as a Service (IaaS): the capability provided to theconsumer is to provision processing, storage, networks, and otherfundamental computing resources where the consumer is able to deploy andrun arbitrary software, which can include operating systems andapplications. The consumer does not manage or control the underlyingcloud infrastructure but has control over operating systems, storage,deployed applications, and possibly limited control of select networkingcomponents (e.g., host firewalls).

Deployment Models are as follows:

Private cloud: the cloud infrastructure is operated solely for anorganization. It may be managed by the organization or a third party andmay exist on-premises or off premises.

Community cloud: the cloud infrastructure is shared by severalorganizations and supports a specific community that has shared concerns(e.g., mission, security requirements, policy, and complianceconsiderations). It may be managed by the organizations or a third partyand may exist on-premises or off-premises.

Public cloud: the cloud infrastructure is made available to the generalpublic or a large industry group and is owned by an organization sellingcloud services.

Hybrid cloud: the cloud infrastructure is a composition of two or moreclouds (private, community, or public) that remain unique entities butare bound together by standardized or proprietary technology thatenables data and application portability (e.g., cloud bursting forload-balancing between clouds).

A cloud computing environment is service oriented with a focus onstatelessness, low coupling, modularity, and semantic interoperability.At the heart of cloud computing is an infrastructure that includes anetwork of interconnected nodes.

Referring now to FIG. 11, illustrative cloud computing environment 50 isdepicted. As shown, cloud computing environment 50 includes one or morecloud computing nodes 10 with which local computing devices used bycloud consumers, such as, for example, personal digital assistant (PDA)or cellular telephone 54A, desktop computer 54B, laptop computer 54C,and/or automobile computer system 54N may communicate. Nodes 10 maycommunicate with one another. They may be grouped (not shown) physicallyor virtually, in one or more networks, such as Private, Community,Public, or Hybrid clouds as described hereinabove, or a combinationthereof. This allows cloud computing environment 50 to offerinfrastructure, platforms and/or software as services for which a cloudconsumer does not need to maintain resources on a local computingdevice. It is understood that the types of computing devices 54A-N shownin FIG. 11 are intended to be illustrative only and that computing nodes10 and cloud computing environment 50 can communicate with any type ofcomputerized device over any type of network and/or network addressableconnection (e.g., using a web browser).

Referring now to FIG. 12, a set of functional abstraction layersprovided by cloud computing environment 50 (FIG. 11) is shown. It shouldbe understood in advance that the components, layers, and functionsshown in FIG. 12 are intended to be illustrative only and embodiments ofthe invention are not limited thereto. As depicted, the following layersand corresponding functions are provided:

Hardware and software layer 60 includes hardware and softwarecomponents. Examples of hardware components include: mainframes 61; RISC(Reduced Instruction Set Computer) architecture based servers 62;servers 63; blade servers 64; storage devices 65; and networks andnetworking components 66. In some embodiments, software componentsinclude network application server software 67 and database software 68.

Virtualization layer 70 provides an abstraction layer from which thefollowing examples of virtual entities may be provided: virtual servers71; virtual storage 72; virtual networks 73, including virtual privatenetworks; virtual applications and operating systems 74; and virtualclients 75.

In one example, management layer 80 may provide the functions describedbelow. Resource provisioning 81 provides dynamic procurement ofcomputing resources and other resources that are utilized to performtasks within the cloud computing environment. Metering and Pricing 82provide cost tracking as resources are utilized within the cloudcomputing environment, and billing or invoicing for consumption of theseresources. In one example, these resources may include applicationsoftware licenses. Security provides identity verification for cloudconsumers and tasks, as well as protection for data and other resources.User portal 83 provides access to the cloud computing environment forconsumers and system administrators. Service level management 84provides cloud computing resource allocation and management such thatrequired service levels are met. Service Level Agreement (SLA) planningand fulfillment 85 provide pre-arrangement for, and procurement of,cloud computing resources for which a future requirement is anticipatedin accordance with an SLA.

Workloads layer 90 provides examples of functionality for which thecloud computing environment may be utilized. Examples of workloads andfunctions which may be provided from this layer include: mapping andnavigation 91; software development and lifecycle management 92; virtualclassroom education delivery 93; data analytics processing 94;transaction processing 95; and monitoring and analyzing socialinteractions to generate a behavioral recommendation 96.

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider). In some embodiments, electronic circuitry including,for example, programmable logic circuitry, field-programmable gatearrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting. As used herein, thesingular forms “a”, “an” and “the” are intended to include the pluralforms as well, unless the context clearly indicates otherwise. It willbe further understood that the terms “comprises” and/or “comprising”,when used in this specification, specify the presence of statedfeatures, integers, steps, operations, elements, and/or components, butdo not preclude the presence or addition of one or more other features,integers, steps, operations, elements, components and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below, if any, areintended to include any structure, material, or act for performing thefunction in combination with other claimed elements as specificallyclaimed. The description of one or more embodiments has been presentedfor purposes of illustration and description, but is not intended to beexhaustive or limited to in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the art. Theembodiment was chosen and described in order to best explain variousaspects and the practical application, and to enable others of ordinaryskill in the art to understand various embodiments with variousmodifications as are suited to the particular use contemplated.

1. A computer-implemented method, comprising: obtaining, by one or moreprocessors, based on monitoring a defined vicinity of a user when theuser is in a given public space, via one or more input devicescommunicatively coupled to the one or more processors, the one or moreinput devices comprising an audio capture device and an image capturedevice, environmental data comprising captured audio data and capturedimage data; applying, by the one or more processors, a cognitive agentand one or more application programming interfaces to the environmentaldata to generate, by the one or more processors, based on theenvironmental data, a user profile for the user, wherein generating theuser profile comprises cognitively analyzing the environmental data toperform a binary valuation of one or more pre-defined core attributes,wherein the environmental data comprises facial expressions of the userand biological information, and wherein the core attributes are selectedfrom the group consisting of: hierarchy, physiological, safety, love andbelonging, esteem, and self-actualization; identifying, by the one ormore processors, based on the environmental data, one or more entitieswithin the vicinity of the user; based on the identifying, generating,by the one or more processors, based on the environmental data, asubject profile for each entity of the one or more entities, whereingenerating the subject profile, for each entity of the one or moreentities, comprises cognitively analyzing the environmental data toperform the binary valuation of the one or more pre-defined coreattributes; predicting, by the one or more processors, based on applyinga classifier algorithm to the user profile and each subject profile, aclassification representing a perceived positive or negative outcome ofthe user initiating a contact with each entity of the one or moreentities, wherein the classifier algorithm applies a hypothesisgenerated utilizing a machine learning model trained with historicalinformation to identify features in past positive interactions; based onpredicting a positive outcome for at the user initiating the contactwith at least one entity of the one or more entities, generating, by theone or more processors, a recommendation to initiate the contact withthe at least one entity; and transmitting, by the one or moreprocessors, to the user, via a haptic interface of the one or more inputdevices, the recommendation to initiate the contact with the at leastone entity at a given moment in time, wherein the haptic interfaceindicates a location of the at least one entity, relative to the user,within the vicinity in the public space.
 2. The computer-implementedmethod of claim 1, wherein the pre-defined core attributes comprise avalue system, wherein the binary valuation of one or more pre-definedcore attributes is from a perspective of the user, as perceived bycognitively analyzing environmental data within the defined vicinity ofthe user, obtained by the one or more input devices, and wherein the oneor more input devices comprise at least one wearable device worn by theuser, wherein the environmental data within the defined vicinity of theuser comprises expressed opinions in social media by the user andcorrelated values of bodily parameters measured from the user in anevent of knowledge about particular event related to the subject.
 3. Thecomputer-implemented method of claim 2, wherein cognitively analyzingthe environmental data further comprises: analyzing, by the one or moreprocessors, the environmental data, utilizing a natural languageprocessing algorithm and an image recognition algorithm, to identifypersonal attributes in the environmental data and to associate one ormore of the identified personal attributes with the user and each entityof the one or more entities, wherein the one or more personal attributesassociated with the user comprise the user profile, and wherein the oneor more personal attributes associated with each entity of the one ormore entities comprises the subject profile of the entity.
 4. Thecomputer-implemented method of claim 1, further comprising: obtaining,based on the identifying, historical data describing conversationsbetween each entity of the one or more entities and the user, whereinthe predicting further comprises: adjusting, by the one or moreprocessors, the perceived positive or negative outcome of the userinitiating the contact with each entity of the one or more entities,based on the historical data.
 5. The computer-implemented method ofclaim 3, wherein the at least one entity comprises two or more entities,generating the recommendation further comprising: determining, by theone or more processors, based on cognitively analyzing the environmentaldata utilizing an artificial intelligence, an immediate need of theuser, wherein the artificial intelligence analyzes facial expressions ofthe user during interactions with others during a pre-defined period oftime, blood pressure of the user, and pulse rate of the user;prioritizing, by the one or more processors, the two or more entitiessuch that an entity of the two or more entities with a highestprobability of meeting the need of the user is assigned a highestpriority, wherein the prioritizing is based on comparing the one or morepersonal attributes associated with each entity of the two or moreentities with the need and correlating the one or more personalattributes with the need, wherein the entity of the two or more entitieswith the highest probability of meeting the need of the user is theentity of the two or more entities with one or more attributes thatcorrelate most closely with the need; and generating the recommendation,wherein the recommendation identifies the entity of the two or moreentities with the highest probability of meeting the need of the user.6. The computer-implemented method of claim 5, wherein the immediateneed of the user was obtained by the one or more processors andidentified based on the cognitive analysis.
 7. The computer-implementedmethod of claim 5, wherein the prioritizing further comprises applying aprioritization algorithm.
 8. The computer-implemented method of claim 1,further comprising: obtaining, by the one or more processors, via theinterface, a response comprising an acceptance or a rejection of therecommendation.
 9. The computer-implemented method of claim 1, whereinthe one or more pre-defined core attributes are selected from the groupconsisting of: justice or injustice, trust or mistrust, true or untrue,belief or absence of belief, gain or loss, ethical or unethical,interesting or uninteresting, and secure or insecure.
 10. Thecomputer-implemented method of claim 1, wherein identifying the one ormore entities within the vicinity of the user further comprises, foreach entity: extracting, by the one or more processors, from theenvironmental data, at least one facial image of the entity; andutilizing, by the one or more processors, a facial recognition programto identify the entity.
 11. The computer-implemented method of claim 3,further comprising: based on identifying the one or more entities,querying, by the one or more processors, one or more publicly availablecomputing resource to obtain social media postings by the one or moreentities; and cognitively analyzing, by the one or more processors,utilizing a natural language processing algorithm, the obtained socialmedia postings to identify additional personal attributes in theenvironmental data and to associate one or more of the identifiedadditional personal attributes with each entity of the one or moreentities, wherein the one or more additional personal attributesassociated with each entity of the one or more entities comprises thesubject profile of the entity.
 12. A computer program productcomprising: a computer readable storage medium readable by one or moreprocessors of a shared computing environment and storing instructionsfor execution by the one or more processors for performing a methodcomprising: obtaining, by the one or more processors, based onmonitoring a defined vicinity of a user when the user is in a publicspace, via one or more input devices communicatively coupled to the oneor more processors, the one or more input devices comprising an audiocapture device and an image capture device, environmental datacomprising captured audio data and captured image data; applying, by theone or more processors, a cognitive agent and one or more applicationprogramming interfaces to the environmental data to generate, by the oneor more processors, based on the environmental data, a user profile forthe user, wherein generating the user profile comprises cognitivelyanalyzing the environmental data to perform a binary valuation of one ormore pre-defined core attributes, wherein the environmental datacomprises facial expressions of the user and biological information, andwherein the core attributes are selected from the group consisting of:hierarchy, physiological, safety, love and belonging, esteem, andself-actualization; identifying, by the one or more processors, based onthe environmental data, one or more entities within the vicinity of theuser; based on the identifying, generating, by the one or moreprocessors, based on the environmental data, a subject profile for eachentity of the one or more entities, wherein generating the subjectprofile, for each entity of the one or more entities, comprisescognitively analyzing the environmental data to perform the binaryvaluation of the one or more pre-defined core attributes; predicting, bythe one or more processors, based on applying a classifier algorithm tothe user profile and each subject profile, a classification representinga perceived positive or negative outcome of the user initiating acontact with each entity of the one or more entities, wherein theclassifier algorithm applies a hypothesis generated utilizing a machinelearning model trained with historical information to identify featuresin past positive interactions; based on predicting a positive outcomefor at the user initiating the contact with at least one entity of theone or more entities, generating, by the one or more processors, arecommendation to initiate the contact with the at least one entity; andtransmitting, by the one or more processors, to the user, via a hapticinterface of the one or more input devices, the recommendation toinitiate the contact with the at least one entity at a given moment intime, wherein the haptic interface indicates a location of the at leastone entity, relative to the user, within the vicinity in the publicspace.
 13. The computer program product of claim 12, wherein thepre-defined core attributes comprise a value system, wherein the binaryvaluation of one or more pre-defined core attributes is from aperspective of the user, as perceived by cognitively analyzingenvironmental data within the defined vicinity of the user, obtained bythe one or more input devices, and wherein the one or more input devicescomprise at least one wearable device worn by the user.
 14. The computerprogram product of claim 13, wherein cognitively analyzing theenvironmental data further comprises: analyzing, by the one or moreprocessors, the environmental data, utilizing a natural languageprocessing algorithm and an image recognition algorithm, to identifypersonal attributes in the environmental data and to associate one ormore of the identified personal attributes with the user and each entityof the one or more entities, wherein the one or more personal attributesassociated with the user comprise the user profile, and wherein the oneor more personal attributes associated with each entity of the one ormore entities comprises the subject profile of the entity.
 15. Thecomputer program product of claim 12, the method further comprising:obtaining, based on the identifying, historical data describingconversations between each entity of the one or more entities and theuser, wherein the predicting further comprises: adjusting, by the one ormore processors, the perceived positive or negative outcome of the userinitiating the contact with each entity of the one or more entities,based on the historical data.
 16. The computer program product of claim14, wherein the at least one entity comprises two or more entities,generating the recommendation further comprising: determining, by theone or more processors, based on cognitively analyzing the environmentaldata utilizing an artificial intelligence, an immediate need of theuser, wherein the artificial intelligence analyzes facial expressions ofthe user during interactions with others during a pre-defined period oftime, blood pressure of the user, and pulse rate of the user;prioritizing, by the one or more processors, the two or more entitiessuch that an entity of the two or more entities with a highestprobability of meeting the need of the user is assigned a highestpriority, wherein the prioritizing is based on comparing the one or morepersonal attributes associated with each entity of the two or moreentities with the need and correlating the one or more personalattributes with the need, wherein the entity of the two or more entitieswith the highest probability of meeting the need of the user is theentity of the two or more entities with one or more attributes thatcorrelate most closely with the need; and generating the recommendation,wherein the recommendation identifies the entity of the two or moreentities with the highest probability of meeting the need of the user.17. The computer program product of claim 16, wherein the immediate needof the user was obtained by the one or more processors and identifiedbased on the cognitive analysis.
 18. The computer program product ofclaim 16, wherein the prioritizing further comprises applying aprioritization algorithm.
 19. A computer system comprising: a memory;one or more processors in communication with the memory; programinstructions executable by the one or more processors in a sharedcomputing environment via the memory to perform a method, the methodcomprising: obtaining, by the one or more processors, based onmonitoring a defined vicinity of a user when the user is in a publicspace, via one or more input devices communicatively coupled to the oneor more processors, the one or more input devices comprising an audiocapture device and an image capture device, environmental datacomprising captured audio data and captured image data; applying, by theone or more processors, a cognitive agent and one or more applicationprogramming interfaces to the environmental data to generate, by the oneor more processors, based on the environmental data, a user profile forthe user, wherein generating the user profile comprises cognitivelyanalyzing the environmental data to perform a binary valuation of one ormore pre-defined core attributes, wherein the environmental datacomprises facial expressions of the user and biological information, andwherein the core attributes are selected from the group consisting of:hierarchy, physiological, safety, love and belonging, esteem, andself-actualization; identifying, by the one or more processors, based onthe environmental data, one or more entities within the vicinity of theuser; based on the identifying, generating, by the one or moreprocessors, based on the environmental data, a subject profile for eachentity of the one or more entities, wherein generating the subjectprofile, for each entity of the one or more entities, comprisescognitively analyzing the environmental data to perform the binaryvaluation of the one or more pre-defined core attributes; predicting, bythe one or more processors, based on applying a classifier algorithm tothe user profile and each subject profile, a classification representinga perceived positive or negative outcome of the user initiating acontact with each entity of the one or more entities, wherein theclassifier algorithm applies a hypothesis generated utilizing a machinelearning model trained with historical information to identify featuresin past positive interactions; based on predicting a positive outcomefor at the user initiating the contact with at least one entity of theone or more entities, generating, by the one or more processors, arecommendation to initiate the contact with the at least one entity; andtransmitting, by the one or more processors, to the user, via a hapticinterface of the one or more input devices, the recommendation toinitiate the contact with the at least one entity at a given moment intime, wherein the haptic interface indicates a location of the at leastone entity, relative to the user, within the vicinity in the publicspace.
 20. The computer system of claim 20, wherein the pre-defined coreattributes comprise a value system, wherein the binary valuation of oneor more pre-defined core attributes is from a perspective of the user,as perceived by cognitively analyzing environmental data within thedefined vicinity of the user, obtained by the one or more input devices,and wherein the one or more input devices comprise at least one wearabledevice worn by the user.